package com.xhsj.user.utils;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 *
 * MD5工具类
 *
 * @author 罗季嘉
 * @date 2019年9月9日
 */
public class Md5Utils {

	public static String md5(String str) {
		byte[] bytes = null;
		try {
			/**
             * MessageDigest 一个包含算法的类
             * getInstance 指定你所使用的算法
             * digest 给指定的byte数组进行加密
             */
			 bytes = MessageDigest.getInstance("md5").digest(str.getBytes());
		} catch (NoSuchAlgorithmException e) {
			// TODO Auto-generated catch block
			throw new RuntimeException("没有MD5算法");
		}
		//十六进制的数
		String md5 = new BigInteger(1, bytes).toString(16);
		//如果生成数字未满32位，需要前面补0
		for (int i=0; i<32-md5.length(); i++) {
			md5="0"+md5;
		}
		return md5;

	}























}
